Personal computer users have grown accustomed to interacting through user interface elements such as, for example, graphic representations of buttons, check boxes, text fields, menus, lists, drop-down boxes and the like. Likewise, users of the Internet are familiar with web browser applications which receive data in the form of HyperText Markup Language (HTML) and transform it into a graphical representation of the data including the user interface elements as described.
HTML has been universally adopted as the standard language used to define webpage presentation and HTML remains the core building block of websites and web applications. As expected, a number of technologies have been implemented to compliment HTML by providing functionality not available in HTML such as the ability to present dynamic content within webpages. In order to provide a mechanism to facilitate the delivery of dynamic web content, Microsoft introduced Active Server Pages (ASP). ASP is a server based technology which enables a developer to imbed a subset of the Visual Basic language, termed VBScript, within an HTML document. When a browser application submits a request to a web server for an ASP document, the server extracts and processes the VBScript which may include instructions for database transactions.
Another compliment to HTML was developed by Sun Microsystems as a subset to the Java platform. The concept behind Java Server Pages (JSP) is very similar to that of the ASP, except that with JSP, JavaScript (instead of VBScript) is imbedded within a HTML document. Like ASP, JSP documents are processed by a server, however there are a number of differences on how each is processed. Aside from the differences in processing, each produce similar results which are transmitted to a client browser in the form of an HTML data stream.
Extensible Markup Language (XML) was developed to provide a means to format data within a webpage. XML resembles HTML in appearance and structure, however XML is functionally different. HTML is used to display data, while XML is used to describe the data. XML has provided developers with a means for displaying different types of data in a consistent manner. For example, a directory service website may provide users with a means to enter a name of an individual or business into a search field. Following a database search on the name, data relating to one or more matches may include a telephone number, address, city, state, zip code and the like. In order to ensure that all telephone numbers are formatted and displayed consistently, a developer may create formatting instructions within a data type definition (DTD) file. When a data type is defined, a developer need only to add an XML tag within an HTML document which corresponds to a like tag in the DTD. The DTD tag is followed by an instruction set which explains how to format the telephone number. The same may apply to all of the other data types in the above example. Additionally, XML frees the developer from the tedious and sometimes difficult task of writing program code to format data. Formatting data may be a very time and resource consuming activity, because each occurrence of data requires logic to describe how the data is to be presented. Because data is often displayed within fields on webpages, a similar problem exists in defining field types and properties.
In a typical web-based project, the fields are implemented in the individual webpages. As such, if like fields are displayed on multiple webpages the code is often duplicated for each occurrence of the field. Any modification to a field typically requires the developer to modify all occurrences of that field throughout a website. One prior art solution was to re-use existing code for a similar field by centralizing such code. Additionally, webpages may present different views which have different purposes, such as, for example, data manipulation screens, reporting or simply displaying some information. These views typically consist of fields, which are repeated in different views in an application, wherein the fields include, for example, date of birth and Social Security number. In general, the rendering of these fields may be handled in respective webpages. However, rendering fields in different webpages often leads to repetition of code. Moreover, even though it is often a business requirement that the display of the field is substantially the same throughout the application, it is coded at multiple locations in different ways. Accordingly, any change required in display or other attributes of the field may often require a change in all the views (webpages) where the field is used. The different changes typically result in repetitive work.
Therefore, a need exists for a user interface rendering utility to assist individual developers and development teams in the construction and maintenance of software applications and Internet webpages. Further, a need exists for a system and method for managing multiple instances of a user interface control element in order to ensure consistency and universal application.